// Copyright (c) 2016, SolidCP
// SolidCP is distributed under the Creative Commons Share-alike license
// 
// SolidCP is a fork of WebsitePanel:
// Copyright (c) 2015, Outercurve Foundation.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without modification,
// are permitted provided that the following conditions are met:
//
// - Redistributions of source code must  retain  the  above copyright notice, this
//   list of conditions and the following disclaimer.
//
// - Redistributions in binary form  must  reproduce the  above  copyright  notice,
//   this list of conditions  and  the  following  disclaimer in  the documentation
//   and/or other materials provided with the distribution.
//
// - Neither  the  name  of  the  Outercurve Foundation  nor   the   names  of  its
//   contributors may be used to endorse or  promote  products  derived  from  this
//   software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,  BUT  NOT  LIMITED TO, THE IMPLIED
// WARRANTIES  OF  MERCHANTABILITY   AND  FITNESS  FOR  A  PARTICULAR  PURPOSE  ARE
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
// ANY DIRECT, INDIRECT, INCIDENTAL,  SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT  OF  SUBSTITUTE  GOODS OR SERVICES;
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  HOWEVER  CAUSED AND ON
// ANY  THEORY  OF  LIABILITY,  WHETHER  IN  CONTRACT,  STRICT  LIABILITY,  OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE)  ARISING  IN  ANY WAY OUT OF THE USE OF THIS
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.42
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

// 
// This source code was auto-generated by wsdl, Version=2.0.50727.42.
// 
namespace SolidCP.Providers.SharePoint
{
    using System.Diagnostics;
    using System.Web.Services;
    using System.ComponentModel;
    using System.Web.Services.Protocols;
    using System;
    using System.Xml.Serialization;
    using SolidCP.Providers.OS;

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Web.Services.WebServiceBindingAttribute(Name = "SharePointServerSoap", Namespace = "http://smbsaas/solidcp/server/")]
    [System.Xml.Serialization.XmlIncludeAttribute(typeof(ServiceProviderItem))]
    public partial class SharePointServer : Microsoft.Web.Services3.WebServicesClientProtocol
    {

        public ServiceProviderSettingsSoapHeader ServiceProviderSettingsSoapHeaderValue;

        private System.Threading.SendOrPostCallback ExtendVirtualServerOperationCompleted;

        private System.Threading.SendOrPostCallback UnextendVirtualServerOperationCompleted;

        private System.Threading.SendOrPostCallback BackupVirtualServerOperationCompleted;

        private System.Threading.SendOrPostCallback RestoreVirtualServerOperationCompleted;

        private System.Threading.SendOrPostCallback GetTempFileBinaryChunkOperationCompleted;

        private System.Threading.SendOrPostCallback AppendTempFileBinaryChunkOperationCompleted;

        private System.Threading.SendOrPostCallback GetInstalledWebPartsOperationCompleted;

        private System.Threading.SendOrPostCallback InstallWebPartsPackageOperationCompleted;

        private System.Threading.SendOrPostCallback DeleteWebPartsPackageOperationCompleted;

        private System.Threading.SendOrPostCallback UserExistsOperationCompleted;

        private System.Threading.SendOrPostCallback GetUsersOperationCompleted;

        private System.Threading.SendOrPostCallback GetUserOperationCompleted;

        private System.Threading.SendOrPostCallback CreateUserOperationCompleted;

        private System.Threading.SendOrPostCallback UpdateUserOperationCompleted;

        private System.Threading.SendOrPostCallback ChangeUserPasswordOperationCompleted;

        private System.Threading.SendOrPostCallback DeleteUserOperationCompleted;

        private System.Threading.SendOrPostCallback GroupExistsOperationCompleted;

        private System.Threading.SendOrPostCallback GetGroupsOperationCompleted;

        private System.Threading.SendOrPostCallback GetGroupOperationCompleted;

        private System.Threading.SendOrPostCallback CreateGroupOperationCompleted;

        private System.Threading.SendOrPostCallback UpdateGroupOperationCompleted;

        private System.Threading.SendOrPostCallback DeleteGroupOperationCompleted;

        /// <remarks/>
        public SharePointServer()
        {
            this.Url = "http://localhost/SolidCPServer11/SharePointServer.asmx";
        }

        /// <remarks/>
        public event ExtendVirtualServerCompletedEventHandler ExtendVirtualServerCompleted;

        /// <remarks/>
        public event UnextendVirtualServerCompletedEventHandler UnextendVirtualServerCompleted;

        /// <remarks/>
        public event BackupVirtualServerCompletedEventHandler BackupVirtualServerCompleted;

        /// <remarks/>
        public event RestoreVirtualServerCompletedEventHandler RestoreVirtualServerCompleted;

        /// <remarks/>
        public event GetTempFileBinaryChunkCompletedEventHandler GetTempFileBinaryChunkCompleted;

        /// <remarks/>
        public event AppendTempFileBinaryChunkCompletedEventHandler AppendTempFileBinaryChunkCompleted;

        /// <remarks/>
        public event GetInstalledWebPartsCompletedEventHandler GetInstalledWebPartsCompleted;

        /// <remarks/>
        public event InstallWebPartsPackageCompletedEventHandler InstallWebPartsPackageCompleted;

        /// <remarks/>
        public event DeleteWebPartsPackageCompletedEventHandler DeleteWebPartsPackageCompleted;

        /// <remarks/>
        public event UserExistsCompletedEventHandler UserExistsCompleted;

        /// <remarks/>
        public event GetUsersCompletedEventHandler GetUsersCompleted;

        /// <remarks/>
        public event GetUserCompletedEventHandler GetUserCompleted;

        /// <remarks/>
        public event CreateUserCompletedEventHandler CreateUserCompleted;

        /// <remarks/>
        public event UpdateUserCompletedEventHandler UpdateUserCompleted;

        /// <remarks/>
        public event ChangeUserPasswordCompletedEventHandler ChangeUserPasswordCompleted;

        /// <remarks/>
        public event DeleteUserCompletedEventHandler DeleteUserCompleted;

        /// <remarks/>
        public event GroupExistsCompletedEventHandler GroupExistsCompleted;

        /// <remarks/>
        public event GetGroupsCompletedEventHandler GetGroupsCompleted;

        /// <remarks/>
        public event GetGroupCompletedEventHandler GetGroupCompleted;

        /// <remarks/>
        public event CreateGroupCompletedEventHandler CreateGroupCompleted;

        /// <remarks/>
        public event UpdateGroupCompletedEventHandler UpdateGroupCompleted;

        /// <remarks/>
        public event DeleteGroupCompletedEventHandler DeleteGroupCompleted;

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ExtendVirtualServer", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ExtendVirtualServer(SharePointSite site)
        {
            this.Invoke("ExtendVirtualServer", new object[] {
                        site});
        }

        /// <remarks/>
        public System.IAsyncResult BeginExtendVirtualServer(SharePointSite site, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("ExtendVirtualServer", new object[] {
                        site}, callback, asyncState);
        }

        /// <remarks/>
        public void EndExtendVirtualServer(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void ExtendVirtualServerAsync(SharePointSite site)
        {
            this.ExtendVirtualServerAsync(site, null);
        }

        /// <remarks/>
        public void ExtendVirtualServerAsync(SharePointSite site, object userState)
        {
            if ((this.ExtendVirtualServerOperationCompleted == null))
            {
                this.ExtendVirtualServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnExtendVirtualServerOperationCompleted);
            }
            this.InvokeAsync("ExtendVirtualServer", new object[] {
                        site}, this.ExtendVirtualServerOperationCompleted, userState);
        }

        private void OnExtendVirtualServerOperationCompleted(object arg)
        {
            if ((this.ExtendVirtualServerCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ExtendVirtualServerCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UnextendVirtualServer", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UnextendVirtualServer(string url, bool deleteContent)
        {
            this.Invoke("UnextendVirtualServer", new object[] {
                        url,
                        deleteContent});
        }

        /// <remarks/>
        public System.IAsyncResult BeginUnextendVirtualServer(string url, bool deleteContent, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("UnextendVirtualServer", new object[] {
                        url,
                        deleteContent}, callback, asyncState);
        }

        /// <remarks/>
        public void EndUnextendVirtualServer(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void UnextendVirtualServerAsync(string url, bool deleteContent)
        {
            this.UnextendVirtualServerAsync(url, deleteContent, null);
        }

        /// <remarks/>
        public void UnextendVirtualServerAsync(string url, bool deleteContent, object userState)
        {
            if ((this.UnextendVirtualServerOperationCompleted == null))
            {
                this.UnextendVirtualServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUnextendVirtualServerOperationCompleted);
            }
            this.InvokeAsync("UnextendVirtualServer", new object[] {
                        url,
                        deleteContent}, this.UnextendVirtualServerOperationCompleted, userState);
        }

        private void OnUnextendVirtualServerOperationCompleted(object arg)
        {
            if ((this.UnextendVirtualServerCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UnextendVirtualServerCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/BackupVirtualServer", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string BackupVirtualServer(string url, string fileName, bool zipBackup)
        {
            object[] results = this.Invoke("BackupVirtualServer", new object[] {
                        url,
                        fileName,
                        zipBackup});
            return ((string)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginBackupVirtualServer(string url, string fileName, bool zipBackup, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("BackupVirtualServer", new object[] {
                        url,
                        fileName,
                        zipBackup}, callback, asyncState);
        }

        /// <remarks/>
        public string EndBackupVirtualServer(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }

        /// <remarks/>
        public void BackupVirtualServerAsync(string url, string fileName, bool zipBackup)
        {
            this.BackupVirtualServerAsync(url, fileName, zipBackup, null);
        }

        /// <remarks/>
        public void BackupVirtualServerAsync(string url, string fileName, bool zipBackup, object userState)
        {
            if ((this.BackupVirtualServerOperationCompleted == null))
            {
                this.BackupVirtualServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnBackupVirtualServerOperationCompleted);
            }
            this.InvokeAsync("BackupVirtualServer", new object[] {
                        url,
                        fileName,
                        zipBackup}, this.BackupVirtualServerOperationCompleted, userState);
        }

        private void OnBackupVirtualServerOperationCompleted(object arg)
        {
            if ((this.BackupVirtualServerCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.BackupVirtualServerCompleted(this, new BackupVirtualServerCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/RestoreVirtualServer", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void RestoreVirtualServer(string url, string fileName)
        {
            this.Invoke("RestoreVirtualServer", new object[] {
                        url,
                        fileName});
        }

        /// <remarks/>
        public System.IAsyncResult BeginRestoreVirtualServer(string url, string fileName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("RestoreVirtualServer", new object[] {
                        url,
                        fileName}, callback, asyncState);
        }

        /// <remarks/>
        public void EndRestoreVirtualServer(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void RestoreVirtualServerAsync(string url, string fileName)
        {
            this.RestoreVirtualServerAsync(url, fileName, null);
        }

        /// <remarks/>
        public void RestoreVirtualServerAsync(string url, string fileName, object userState)
        {
            if ((this.RestoreVirtualServerOperationCompleted == null))
            {
                this.RestoreVirtualServerOperationCompleted = new System.Threading.SendOrPostCallback(this.OnRestoreVirtualServerOperationCompleted);
            }
            this.InvokeAsync("RestoreVirtualServer", new object[] {
                        url,
                        fileName}, this.RestoreVirtualServerOperationCompleted, userState);
        }

        private void OnRestoreVirtualServerOperationCompleted(object arg)
        {
            if ((this.RestoreVirtualServerCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.RestoreVirtualServerCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetTempFileBinaryChunk", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        [return: System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")]
        public byte[] GetTempFileBinaryChunk(string path, int offset, int length)
        {
            object[] results = this.Invoke("GetTempFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length});
            return ((byte[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetTempFileBinaryChunk(string path, int offset, int length, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetTempFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length}, callback, asyncState);
        }

        /// <remarks/>
        public byte[] EndGetTempFileBinaryChunk(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((byte[])(results[0]));
        }

        /// <remarks/>
        public void GetTempFileBinaryChunkAsync(string path, int offset, int length)
        {
            this.GetTempFileBinaryChunkAsync(path, offset, length, null);
        }

        /// <remarks/>
        public void GetTempFileBinaryChunkAsync(string path, int offset, int length, object userState)
        {
            if ((this.GetTempFileBinaryChunkOperationCompleted == null))
            {
                this.GetTempFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetTempFileBinaryChunkOperationCompleted);
            }
            this.InvokeAsync("GetTempFileBinaryChunk", new object[] {
                        path,
                        offset,
                        length}, this.GetTempFileBinaryChunkOperationCompleted, userState);
        }

        private void OnGetTempFileBinaryChunkOperationCompleted(object arg)
        {
            if ((this.GetTempFileBinaryChunkCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetTempFileBinaryChunkCompleted(this, new GetTempFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/AppendTempFileBinaryChunk", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string AppendTempFileBinaryChunk(string fileName, string path, [System.Xml.Serialization.XmlElementAttribute(DataType = "base64Binary")] byte[] chunk)
        {
            object[] results = this.Invoke("AppendTempFileBinaryChunk", new object[] {
                        fileName,
                        path,
                        chunk});
            return ((string)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginAppendTempFileBinaryChunk(string fileName, string path, byte[] chunk, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("AppendTempFileBinaryChunk", new object[] {
                        fileName,
                        path,
                        chunk}, callback, asyncState);
        }

        /// <remarks/>
        public string EndAppendTempFileBinaryChunk(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string)(results[0]));
        }

        /// <remarks/>
        public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk)
        {
            this.AppendTempFileBinaryChunkAsync(fileName, path, chunk, null);
        }

        /// <remarks/>
        public void AppendTempFileBinaryChunkAsync(string fileName, string path, byte[] chunk, object userState)
        {
            if ((this.AppendTempFileBinaryChunkOperationCompleted == null))
            {
                this.AppendTempFileBinaryChunkOperationCompleted = new System.Threading.SendOrPostCallback(this.OnAppendTempFileBinaryChunkOperationCompleted);
            }
            this.InvokeAsync("AppendTempFileBinaryChunk", new object[] {
                        fileName,
                        path,
                        chunk}, this.AppendTempFileBinaryChunkOperationCompleted, userState);
        }

        private void OnAppendTempFileBinaryChunkOperationCompleted(object arg)
        {
            if ((this.AppendTempFileBinaryChunkCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.AppendTempFileBinaryChunkCompleted(this, new AppendTempFileBinaryChunkCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetInstalledWebParts", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetInstalledWebParts(string url)
        {
            object[] results = this.Invoke("GetInstalledWebParts", new object[] {
                        url});
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetInstalledWebParts(string url, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetInstalledWebParts", new object[] {
                        url}, callback, asyncState);
        }

        /// <remarks/>
        public string[] EndGetInstalledWebParts(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public void GetInstalledWebPartsAsync(string url)
        {
            this.GetInstalledWebPartsAsync(url, null);
        }

        /// <remarks/>
        public void GetInstalledWebPartsAsync(string url, object userState)
        {
            if ((this.GetInstalledWebPartsOperationCompleted == null))
            {
                this.GetInstalledWebPartsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetInstalledWebPartsOperationCompleted);
            }
            this.InvokeAsync("GetInstalledWebParts", new object[] {
                        url}, this.GetInstalledWebPartsOperationCompleted, userState);
        }

        private void OnGetInstalledWebPartsOperationCompleted(object arg)
        {
            if ((this.GetInstalledWebPartsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetInstalledWebPartsCompleted(this, new GetInstalledWebPartsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/InstallWebPartsPackage", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void InstallWebPartsPackage(string url, string packageName)
        {
            this.Invoke("InstallWebPartsPackage", new object[] {
                        url,
                        packageName});
        }

        /// <remarks/>
        public System.IAsyncResult BeginInstallWebPartsPackage(string url, string packageName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("InstallWebPartsPackage", new object[] {
                        url,
                        packageName}, callback, asyncState);
        }

        /// <remarks/>
        public void EndInstallWebPartsPackage(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void InstallWebPartsPackageAsync(string url, string packageName)
        {
            this.InstallWebPartsPackageAsync(url, packageName, null);
        }

        /// <remarks/>
        public void InstallWebPartsPackageAsync(string url, string packageName, object userState)
        {
            if ((this.InstallWebPartsPackageOperationCompleted == null))
            {
                this.InstallWebPartsPackageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnInstallWebPartsPackageOperationCompleted);
            }
            this.InvokeAsync("InstallWebPartsPackage", new object[] {
                        url,
                        packageName}, this.InstallWebPartsPackageOperationCompleted, userState);
        }

        private void OnInstallWebPartsPackageOperationCompleted(object arg)
        {
            if ((this.InstallWebPartsPackageCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.InstallWebPartsPackageCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteWebPartsPackage", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteWebPartsPackage(string url, string packageName)
        {
            this.Invoke("DeleteWebPartsPackage", new object[] {
                        url,
                        packageName});
        }

        /// <remarks/>
        public System.IAsyncResult BeginDeleteWebPartsPackage(string url, string packageName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("DeleteWebPartsPackage", new object[] {
                        url,
                        packageName}, callback, asyncState);
        }

        /// <remarks/>
        public void EndDeleteWebPartsPackage(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void DeleteWebPartsPackageAsync(string url, string packageName)
        {
            this.DeleteWebPartsPackageAsync(url, packageName, null);
        }

        /// <remarks/>
        public void DeleteWebPartsPackageAsync(string url, string packageName, object userState)
        {
            if ((this.DeleteWebPartsPackageOperationCompleted == null))
            {
                this.DeleteWebPartsPackageOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteWebPartsPackageOperationCompleted);
            }
            this.InvokeAsync("DeleteWebPartsPackage", new object[] {
                        url,
                        packageName}, this.DeleteWebPartsPackageOperationCompleted, userState);
        }

        private void OnDeleteWebPartsPackageOperationCompleted(object arg)
        {
            if ((this.DeleteWebPartsPackageCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteWebPartsPackageCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UserExists", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool UserExists(string username)
        {
            object[] results = this.Invoke("UserExists", new object[] {
                        username});
            return ((bool)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginUserExists(string username, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("UserExists", new object[] {
                        username}, callback, asyncState);
        }

        /// <remarks/>
        public bool EndUserExists(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }

        /// <remarks/>
        public void UserExistsAsync(string username)
        {
            this.UserExistsAsync(username, null);
        }

        /// <remarks/>
        public void UserExistsAsync(string username, object userState)
        {
            if ((this.UserExistsOperationCompleted == null))
            {
                this.UserExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUserExistsOperationCompleted);
            }
            this.InvokeAsync("UserExists", new object[] {
                        username}, this.UserExistsOperationCompleted, userState);
        }

        private void OnUserExistsOperationCompleted(object arg)
        {
            if ((this.UserExistsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UserExistsCompleted(this, new UserExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetUsers", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetUsers()
        {
            object[] results = this.Invoke("GetUsers", new object[0]);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetUsers(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetUsers", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public string[] EndGetUsers(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public void GetUsersAsync()
        {
            this.GetUsersAsync(null);
        }

        /// <remarks/>
        public void GetUsersAsync(object userState)
        {
            if ((this.GetUsersOperationCompleted == null))
            {
                this.GetUsersOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUsersOperationCompleted);
            }
            this.InvokeAsync("GetUsers", new object[0], this.GetUsersOperationCompleted, userState);
        }

        private void OnGetUsersOperationCompleted(object arg)
        {
            if ((this.GetUsersCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUsersCompleted(this, new GetUsersCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetUser", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemUser GetUser(string username)
        {
            object[] results = this.Invoke("GetUser", new object[] {
                        username});
            return ((SystemUser)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetUser(string username, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetUser", new object[] {
                        username}, callback, asyncState);
        }

        /// <remarks/>
        public SystemUser EndGetUser(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemUser)(results[0]));
        }

        /// <remarks/>
        public void GetUserAsync(string username)
        {
            this.GetUserAsync(username, null);
        }

        /// <remarks/>
        public void GetUserAsync(string username, object userState)
        {
            if ((this.GetUserOperationCompleted == null))
            {
                this.GetUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetUserOperationCompleted);
            }
            this.InvokeAsync("GetUser", new object[] {
                        username}, this.GetUserOperationCompleted, userState);
        }

        private void OnGetUserOperationCompleted(object arg)
        {
            if ((this.GetUserCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetUserCompleted(this, new GetUserCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateUser", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateUser(SystemUser user)
        {
            this.Invoke("CreateUser", new object[] {
                        user});
        }

        /// <remarks/>
        public System.IAsyncResult BeginCreateUser(SystemUser user, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CreateUser", new object[] {
                        user}, callback, asyncState);
        }

        /// <remarks/>
        public void EndCreateUser(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void CreateUserAsync(SystemUser user)
        {
            this.CreateUserAsync(user, null);
        }

        /// <remarks/>
        public void CreateUserAsync(SystemUser user, object userState)
        {
            if ((this.CreateUserOperationCompleted == null))
            {
                this.CreateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateUserOperationCompleted);
            }
            this.InvokeAsync("CreateUser", new object[] {
                        user}, this.CreateUserOperationCompleted, userState);
        }

        private void OnCreateUserOperationCompleted(object arg)
        {
            if ((this.CreateUserCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateUserCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateUser", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateUser(SystemUser user)
        {
            this.Invoke("UpdateUser", new object[] {
                        user});
        }

        /// <remarks/>
        public System.IAsyncResult BeginUpdateUser(SystemUser user, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("UpdateUser", new object[] {
                        user}, callback, asyncState);
        }

        /// <remarks/>
        public void EndUpdateUser(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void UpdateUserAsync(SystemUser user)
        {
            this.UpdateUserAsync(user, null);
        }

        /// <remarks/>
        public void UpdateUserAsync(SystemUser user, object userState)
        {
            if ((this.UpdateUserOperationCompleted == null))
            {
                this.UpdateUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateUserOperationCompleted);
            }
            this.InvokeAsync("UpdateUser", new object[] {
                        user}, this.UpdateUserOperationCompleted, userState);
        }

        private void OnUpdateUserOperationCompleted(object arg)
        {
            if ((this.UpdateUserCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateUserCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/ChangeUserPassword", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void ChangeUserPassword(string username, string password)
        {
            this.Invoke("ChangeUserPassword", new object[] {
                        username,
                        password});
        }

        /// <remarks/>
        public System.IAsyncResult BeginChangeUserPassword(string username, string password, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("ChangeUserPassword", new object[] {
                        username,
                        password}, callback, asyncState);
        }

        /// <remarks/>
        public void EndChangeUserPassword(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void ChangeUserPasswordAsync(string username, string password)
        {
            this.ChangeUserPasswordAsync(username, password, null);
        }

        /// <remarks/>
        public void ChangeUserPasswordAsync(string username, string password, object userState)
        {
            if ((this.ChangeUserPasswordOperationCompleted == null))
            {
                this.ChangeUserPasswordOperationCompleted = new System.Threading.SendOrPostCallback(this.OnChangeUserPasswordOperationCompleted);
            }
            this.InvokeAsync("ChangeUserPassword", new object[] {
                        username,
                        password}, this.ChangeUserPasswordOperationCompleted, userState);
        }

        private void OnChangeUserPasswordOperationCompleted(object arg)
        {
            if ((this.ChangeUserPasswordCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.ChangeUserPasswordCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteUser", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteUser(string username)
        {
            this.Invoke("DeleteUser", new object[] {
                        username});
        }

        /// <remarks/>
        public System.IAsyncResult BeginDeleteUser(string username, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("DeleteUser", new object[] {
                        username}, callback, asyncState);
        }

        /// <remarks/>
        public void EndDeleteUser(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void DeleteUserAsync(string username)
        {
            this.DeleteUserAsync(username, null);
        }

        /// <remarks/>
        public void DeleteUserAsync(string username, object userState)
        {
            if ((this.DeleteUserOperationCompleted == null))
            {
                this.DeleteUserOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteUserOperationCompleted);
            }
            this.InvokeAsync("DeleteUser", new object[] {
                        username}, this.DeleteUserOperationCompleted, userState);
        }

        private void OnDeleteUserOperationCompleted(object arg)
        {
            if ((this.DeleteUserCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteUserCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GroupExists", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public bool GroupExists(string groupName)
        {
            object[] results = this.Invoke("GroupExists", new object[] {
                        groupName});
            return ((bool)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGroupExists(string groupName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GroupExists", new object[] {
                        groupName}, callback, asyncState);
        }

        /// <remarks/>
        public bool EndGroupExists(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((bool)(results[0]));
        }

        /// <remarks/>
        public void GroupExistsAsync(string groupName)
        {
            this.GroupExistsAsync(groupName, null);
        }

        /// <remarks/>
        public void GroupExistsAsync(string groupName, object userState)
        {
            if ((this.GroupExistsOperationCompleted == null))
            {
                this.GroupExistsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGroupExistsOperationCompleted);
            }
            this.InvokeAsync("GroupExists", new object[] {
                        groupName}, this.GroupExistsOperationCompleted, userState);
        }

        private void OnGroupExistsOperationCompleted(object arg)
        {
            if ((this.GroupExistsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GroupExistsCompleted(this, new GroupExistsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetGroups", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public string[] GetGroups()
        {
            object[] results = this.Invoke("GetGroups", new object[0]);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetGroups(System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetGroups", new object[0], callback, asyncState);
        }

        /// <remarks/>
        public string[] EndGetGroups(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((string[])(results[0]));
        }

        /// <remarks/>
        public void GetGroupsAsync()
        {
            this.GetGroupsAsync(null);
        }

        /// <remarks/>
        public void GetGroupsAsync(object userState)
        {
            if ((this.GetGroupsOperationCompleted == null))
            {
                this.GetGroupsOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetGroupsOperationCompleted);
            }
            this.InvokeAsync("GetGroups", new object[0], this.GetGroupsOperationCompleted, userState);
        }

        private void OnGetGroupsOperationCompleted(object arg)
        {
            if ((this.GetGroupsCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetGroupsCompleted(this, new GetGroupsCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/GetGroup", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public SystemGroup GetGroup(string groupName)
        {
            object[] results = this.Invoke("GetGroup", new object[] {
                        groupName});
            return ((SystemGroup)(results[0]));
        }

        /// <remarks/>
        public System.IAsyncResult BeginGetGroup(string groupName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("GetGroup", new object[] {
                        groupName}, callback, asyncState);
        }

        /// <remarks/>
        public SystemGroup EndGetGroup(System.IAsyncResult asyncResult)
        {
            object[] results = this.EndInvoke(asyncResult);
            return ((SystemGroup)(results[0]));
        }

        /// <remarks/>
        public void GetGroupAsync(string groupName)
        {
            this.GetGroupAsync(groupName, null);
        }

        /// <remarks/>
        public void GetGroupAsync(string groupName, object userState)
        {
            if ((this.GetGroupOperationCompleted == null))
            {
                this.GetGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnGetGroupOperationCompleted);
            }
            this.InvokeAsync("GetGroup", new object[] {
                        groupName}, this.GetGroupOperationCompleted, userState);
        }

        private void OnGetGroupOperationCompleted(object arg)
        {
            if ((this.GetGroupCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.GetGroupCompleted(this, new GetGroupCompletedEventArgs(invokeArgs.Results, invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/CreateGroup", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void CreateGroup(SystemGroup group)
        {
            this.Invoke("CreateGroup", new object[] {
                        group});
        }

        /// <remarks/>
        public System.IAsyncResult BeginCreateGroup(SystemGroup group, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("CreateGroup", new object[] {
                        group}, callback, asyncState);
        }

        /// <remarks/>
        public void EndCreateGroup(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void CreateGroupAsync(SystemGroup group)
        {
            this.CreateGroupAsync(group, null);
        }

        /// <remarks/>
        public void CreateGroupAsync(SystemGroup group, object userState)
        {
            if ((this.CreateGroupOperationCompleted == null))
            {
                this.CreateGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnCreateGroupOperationCompleted);
            }
            this.InvokeAsync("CreateGroup", new object[] {
                        group}, this.CreateGroupOperationCompleted, userState);
        }

        private void OnCreateGroupOperationCompleted(object arg)
        {
            if ((this.CreateGroupCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.CreateGroupCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/UpdateGroup", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void UpdateGroup(SystemGroup group)
        {
            this.Invoke("UpdateGroup", new object[] {
                        group});
        }

        /// <remarks/>
        public System.IAsyncResult BeginUpdateGroup(SystemGroup group, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("UpdateGroup", new object[] {
                        group}, callback, asyncState);
        }

        /// <remarks/>
        public void EndUpdateGroup(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void UpdateGroupAsync(SystemGroup group)
        {
            this.UpdateGroupAsync(group, null);
        }

        /// <remarks/>
        public void UpdateGroupAsync(SystemGroup group, object userState)
        {
            if ((this.UpdateGroupOperationCompleted == null))
            {
                this.UpdateGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnUpdateGroupOperationCompleted);
            }
            this.InvokeAsync("UpdateGroup", new object[] {
                        group}, this.UpdateGroupOperationCompleted, userState);
        }

        private void OnUpdateGroupOperationCompleted(object arg)
        {
            if ((this.UpdateGroupCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.UpdateGroupCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        [System.Web.Services.Protocols.SoapHeaderAttribute("ServiceProviderSettingsSoapHeaderValue")]
        [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://smbsaas/solidcp/server/DeleteGroup", RequestNamespace = "http://smbsaas/solidcp/server/", ResponseNamespace = "http://smbsaas/solidcp/server/", Use = System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle = System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
        public void DeleteGroup(string groupName)
        {
            this.Invoke("DeleteGroup", new object[] {
                        groupName});
        }

        /// <remarks/>
        public System.IAsyncResult BeginDeleteGroup(string groupName, System.AsyncCallback callback, object asyncState)
        {
            return this.BeginInvoke("DeleteGroup", new object[] {
                        groupName}, callback, asyncState);
        }

        /// <remarks/>
        public void EndDeleteGroup(System.IAsyncResult asyncResult)
        {
            this.EndInvoke(asyncResult);
        }

        /// <remarks/>
        public void DeleteGroupAsync(string groupName)
        {
            this.DeleteGroupAsync(groupName, null);
        }

        /// <remarks/>
        public void DeleteGroupAsync(string groupName, object userState)
        {
            if ((this.DeleteGroupOperationCompleted == null))
            {
                this.DeleteGroupOperationCompleted = new System.Threading.SendOrPostCallback(this.OnDeleteGroupOperationCompleted);
            }
            this.InvokeAsync("DeleteGroup", new object[] {
                        groupName}, this.DeleteGroupOperationCompleted, userState);
        }

        private void OnDeleteGroupOperationCompleted(object arg)
        {
            if ((this.DeleteGroupCompleted != null))
            {
                System.Web.Services.Protocols.InvokeCompletedEventArgs invokeArgs = ((System.Web.Services.Protocols.InvokeCompletedEventArgs)(arg));
                this.DeleteGroupCompleted(this, new System.ComponentModel.AsyncCompletedEventArgs(invokeArgs.Error, invokeArgs.Cancelled, invokeArgs.UserState));
            }
        }

        /// <remarks/>
        public new void CancelAsync(object userState)
        {
            base.CancelAsync(userState);
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ExtendVirtualServerCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UnextendVirtualServerCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void BackupVirtualServerCompletedEventHandler(object sender, BackupVirtualServerCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class BackupVirtualServerCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal BackupVirtualServerCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void RestoreVirtualServerCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetTempFileBinaryChunkCompletedEventHandler(object sender, GetTempFileBinaryChunkCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public byte[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((byte[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void AppendTempFileBinaryChunkCompletedEventHandler(object sender, AppendTempFileBinaryChunkCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class AppendTempFileBinaryChunkCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal AppendTempFileBinaryChunkCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetInstalledWebPartsCompletedEventHandler(object sender, GetInstalledWebPartsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetInstalledWebPartsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetInstalledWebPartsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void InstallWebPartsPackageCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteWebPartsPackageCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UserExistsCompletedEventHandler(object sender, UserExistsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class UserExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal UserExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetUsersCompletedEventHandler(object sender, GetUsersCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUsersCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetUsersCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetUserCompletedEventHandler(object sender, GetUserCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetUserCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetUserCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SystemUser Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SystemUser)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UpdateUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void ChangeUserPasswordCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteUserCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GroupExistsCompletedEventHandler(object sender, GroupExistsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GroupExistsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GroupExistsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public bool Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((bool)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetGroupsCompletedEventHandler(object sender, GetGroupsCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetGroupsCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetGroupsCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public string[] Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((string[])(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void GetGroupCompletedEventHandler(object sender, GetGroupCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    public partial class GetGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
    {

        private object[] results;

        internal GetGroupCompletedEventArgs(object[] results, System.Exception exception, bool cancelled, object userState)
            :
                base(exception, cancelled, userState)
        {
            this.results = results;
        }

        /// <remarks/>
        public SystemGroup Result
        {
            get
            {
                this.RaiseExceptionIfNecessary();
                return ((SystemGroup)(this.results[0]));
            }
        }
    }

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void CreateGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void UpdateGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);

    /// <remarks/>
    [System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
    public delegate void DeleteGroupCompletedEventHandler(object sender, System.ComponentModel.AsyncCompletedEventArgs e);
}
